// Package promise 每日提醒 --工作与未来发展
package promise

import (
	"bufio"
	"fmt"
	"io/ioutil"
	"log"
	"net/http"
	"net/url"
	"os"
	"strconv"
	"strings"
	"time"

	"gitee.com/wang_cyi/TryEverything/public"
)

//GenDailyTipAt6 每日提醒 --工作与未来发展
func GenDailyTipAt6() string {

	content := "自动化起床步骤:"
	content += "\r\n"
	content += "\r\n"
	content += "早起理论：下次起床时间就是历史延迟起最晚床时间3倍"
	content += "\r\n"
	content += "只要过去一次晚起，大脑自动找到合理借口 马上演变成一天，一星期，一个月，一年。并且后悔自责，惩罚 对早起一点帮助都没有,神经回路已经形成。请看疯狂的大脑。"
	content += "\r\n"
	content += "\r\n"
	content += " 起床等级划分：L1 拖延起床  l2 强制起床 l3 提前起床 l4 自觉起床 来拆分任务 脚踏实地，拒绝直接从5点直接开始起床。https://app.yinxiang.com/fx/48b89a9c-4b78-4b3a-bcc2-dd2ebec41888"
	content += "\r\n"
	content += "\r\n"
	content += " SMART原则 指标必须是  具体的（Specific）,可以衡量的（Measurable）, 可以达到的（Attainable）,其他目标具有一定的相关性(Relevant), 有明确的截止期限（Time-bound）"
	content += "\r\n"
	content += "起床固定步骤 :"
	content += "\r\n"
	content += "\r\n"

	content += "step1 手机放到客厅【晚上准备5分钟】,L2 ,需要千万想法，千万意外，自己认为100%合理的感觉，你必须这么做"
	content += "\r\n"
	content += "\r\n"
	content += "step2 纠正睡姿一次 【允许15分钟拖延】"
	content += "\r\n"
	content += "\r\n"
	content += "step3  奇迹提问：我真的喜欢这样躺在床上的 20 分钟吗？"
	content += "\r\n"
	content += "no，从躺着状态变成坐立状态(你仍然在床上，舒适区85%，从幻想走出是15%挑战，从没有睡好坐立是15%的挑战) "
	content += "\r\n"
	content += "\r\n"
	content += "拦路虎：if（做熬夜4点 第二天 告诉自己我现在很困 不能起床  无法起床 || 因为看视频听得到头疼厉害  || 周末也要遵循这一起床时间 ||别人已经 陆陆续续) then 去瑜伽垫上 "
	content += "\r\n"
	content += "\r\n"

	content += "step4 去瑜伽垫上，keep一次 || 户外拍摄日出一张 推荐。(你仍然在家上，舒适区85%，离开床是15%挑战) 【15分钟】"
	content += "\r\n"
	content += "拦路虎：if（起床后，在床上听keep 然后慢慢起床，在床上看新闻，甚至后悔发呆 不需要 ||任何感觉和判断在这里毫无价值必须亲自体验) then 回到step4"
	content += "\r\n"
	content += "\r\n"
	content += "step5 打开印象笔记录音功能，开始思路清晰，表达清楚。（你准备阶段，舒适区85%，开口说话是15%是挑战。） 【15分钟】"
	content += "\r\n"
	content += "\r\n"
	content += "拦路虎：if（ 起床没事干，最重要事件，做最重要事情，查缺补漏) then 回到step5"

	content += "step6 吃早餐 "
	content += "\r\n"

	content += "step7 上班最后一站地铁替换成跑步 【15分钟】"
	content += "\r\n"
	content += "\r\n"
	content += `起床耗时：60分钟。别人都做到了。
	            请看  woop心理学【明智的追求梦想】  五点起床：最养生和高效的时间管理-中岛孝  睡眠革命:如何让你的睡眠更高效`
	content += "\r\n"
	content += public.DuringDays()
	return content
}

//Thing 腾讯视频 av视频，小说，背后戴奥多运营商利益。 每日复盘
func Thing() {

	//你个人吃喝玩乐这个放松事情，完全背后巨头公司，运营商，广告商驱动
	//吃饭走路睡觉时间必须看腾讯视频提供电视，必须看浏览器提供xx小说 必须看今日头条 提供各种新闻
	//达到bat小大一分钱，都不无数通道，那里，哪怕1万恶点，获取一份，背后老外
	// 他们提供产品消耗意志力， 压抑情绪和放纵情绪 志力降低之后，被欲望驱动
	//展区多亿人共享，巡礼电话

	//为什看完小说，看完电影 综艺节目，之后你身心疲累，根本不是放松。
	//在意志力耗尽之后，产生更多欲望。看更多电影，小说 ，综艺节目】
	//意志力 自控力
	// 他们为了真一分钱，让系统高中初中大学工作时间，牺牲一切一切不挂 他们就是恶魔

	//为什看完小说，看完电影 综艺节目，之后你身心疲累，根本不是放松。
	//在意志力耗尽之后，产生更多欲望。看更多电影，小说 ，综艺节目
}

//GenDailyTipForMood 工作心情影响因素
func GenDailyTipForMood() string {

	content := "每日复盘--调整工作焦点 "
	content += "\r\n"

	content += "因为在公司办公痛苦就驼背工作，因为手放到鼠标上，你感觉痛苦就不在思考，一天24小时每秒都是如此，一年365天，天天如此\r\n"
	content += "\r\n"
	content += "你没想过，不去思考，不主动才是最大问题， 正是工作没有成绩，做事没有方法和原则，让你陷入泥潭，你敢责备公司，不敢责备别人，只能去责备鼠标和键盘 "
	content += "\r\n"
	content += "\r\n"
	var plan Plan
	content += plan.AlgorithmPlan()
	content += public.DuringDays()
	return content
}

//ReviewEachDayForTalking checklist清单--沟通
func ReviewEachDayForTalking() string {
	var timestamp int64 = 1577808005 //2020-01-01
	begin := time.Unix(timestamp, 0)
	end := time.Now()
	cost := strconv.Itoa(public.TimeSubDays(end, begin))
	date := end.Format("2006-01-02 15:04:05")

	content := "每日复盘清单--主动沟通了吗"
	content += "\r\n"
	content += "今天是"
	content += date
	content += " ,365天中的第"
	content += cost
	content += "天"

	content += "今天遇到最大调整是 \r\n"

	content += "别人表现出来不关心，尤其是领导嘴上从技术，公司，未来角度告诉你不需要关系， 那是假的，等着完全真正不关心，完全放弃时候，最放松放时候给以致命一击 \r\n"
	content += "你还没有任何反驳的余地，他们只记得自己千万总监千万职位。 其他一切态度，观点，早忘记一干二净了，他们才是那个最不愿意努力的动脑的那个人\r\n"
	content += "你牺牲千万时间，最后就是为了这个吗？ \r\n"

	return content
}

//SendHoureDReport 小时日报 跟踪轨迹
func SendHoureDReport(path string) int {

	var output string

	//output = ReadHourLog("D:\\money\\eye\\work\\daily\\work_hour.txt")
	output = ReadHourLog(path)
	if len(output) < 5 {
		return -2
	}
	output = url.QueryEscape(output)
	url := "http://95.169.24.121:8090/life?input=hour&data="
	url += output
	req, err := http.NewRequest("GET", url, nil)
	req.Header.Set("Content-Type", "text/html; charset=utf-8")
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Println(err)
		return -1
	}
	defer resp.Body.Close()

	fmt.Println("response Status:", resp.Status)
	fmt.Println("response Headers:", resp.Header)
	body, _ := ioutil.ReadAll(resp.Body)
	fmt.Println("response Body:", string(body))

	//bug1 400 Bad Request 遇到空格就结束了
	//https://blog.csdn.net/wanguanok/article/details/41927799
	//https://oktools.net/url
	//https://blog.csdn.net/u011304970/article/details/72638568?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
	//https://my.oschina.net/solate/blog/1572926
	//https://my.oschina.net/solate/blog/1572926
	//url.QueryEscape undefined (type string has no field or method QueryEscape)

	return 0
}

//ReadHourLog 读取小时日志
func ReadHourLog(path string) string {
	file, err := os.Open(path)
	if err != nil {
		fmt.Println(err)
	}
	defer file.Close()

	var buffer []string
	scanner := bufio.NewScanner(file)
	var lines string

	for scanner.Scan() {
		lines = scanner.Text()
		if strings.Contains(lines, "---") == true {
			//fmt.Println("-------- ")
			break
		}
		//fmt.Println(lines)
		buffer = append(buffer, lines)

	}
	if len(buffer) == 0 {
		return ""
	}

	var result string

	for _, data := range buffer {
		result += data
		result += "\r\n"
	}
	fmt.Println(result)
	return result

}
